package com.fypg.module.blooddonation.api.client.utils;

import com.fypg.module.blooddonation.api.client.enums.BloodDonationStatusEnum;
import com.fypg.module.blooddonation.api.client.enums.RejectDonationTypeEnum;
import org.springframework.stereotype.Component;

/**
 * 数据字典工具类
 */
@Component
public class DataDictionaryHelper {


    /**
     * 通用的字典类型值获取方法
     */
    public static String getDictionaryTypeValue(String orgId, String dictType, String dictCode) {
        // 根据字典类型进行路由
        switch (dictType) {
            case "6": // 献血状态
                return getBloodDonationStatus(dictCode);
            case "8": // 拒绝献血类型
                return getRejectDonationType(dictCode);
            case "7": // 血站名称
                return getBloodStationName(dictCode);
            default:
                return "未知";
        }
    }

    /**
     * 获取献血状态描述
     */
    public static String getBloodDonationStatus(String statusCode) {
        return BloodDonationStatusEnum.getDescriptionByCode(statusCode);
    }


    /**
     * 获取拒绝献血类型描述（示例）
     */
    private static String getRejectDonationType(String dictCode) {
        return RejectDonationTypeEnum.getDescriptionByCode(dictCode);
    }

    /**
     * 获取血站名称（示例）
     */
    private static String getBloodStationName(String orgId) {
        // 实现血站名称的字典转换
        // 02013:佛山市中心血站, 02014:南海血站 等
        return "血站名称";
    }
}
